﻿// --------------
// 作者:Vitity
// --------------

namespace NICWebApi.Extensions.RESTfulResult.Filter;

/// <summary>
/// SwaggerSchemaFilter类，用于过滤Swagger生成的Schema模型
/// </summary>
public class SwaggerSchemaFilter : ISchemaFilter
{
    /// <summary>
    /// 实现过滤器方法
    /// </summary>
    /// <param name="model">OpenApiSchema对象，表示当前正在处理的Schema模型</param>
    /// <param name="context">SchemaFilterContext对象，提供上下文信息，如当前处理的类型等</param>
    public void Apply(OpenApiSchema model, SchemaFilterContext context)
    {
        var type = context.Type; // 获取当前处理的类型

        if (type == typeof(object)) // 如果当前处理的类型是object
        {
            model.AdditionalPropertiesAllowed = false; // 设置AdditionalPropertiesAllowed为false，表示不允许额外的属性
        }
    }
}